In the field of data communications, communication equipment such as a modem, a data service unit (DSU), or a channel service unit (CSU) is used to convey information from one location to another. Digital technology now enables modems or other communication devices, such as network switches, frame relay data service units (DSU's), frame relay access units (FRAU's), and asynchronous transfer mode (ATM) communication devices to communicate large amounts of data in a packetized digital format. This packetized digital communication format generally adheres to a model, such as the well known Open Systems Interconnect (OSI) seven-layer model, which specifies the parameters and conditions under which information is formatted into a digital data packet and transferred over a communications network.
Frame-relay networks, well known in the art, are one implementation of a packet-switching network. A packet-switching network allows multiple users to share data network facilities and bandwidth, as contrasted with a circuit-switching network which provides a specific amount of dedicated bandwidth to each user. Packet switches divide bandwidth into connectionless, virtual circuits. A virtual circuit can be a permanent virtual circuit (PVC) or a switched virtual circuit (SVC). As is well known, virtual circuit bandwidth is consumed only when data is actually transmitted. Otherwise, the bandwidth is not used. In this way, packet-switching networks essentially mirror the operation of a statistical multiplexer (whereby multiple logical users share a single network access circuit). Frame relay systems generally operate within layer 2 (the data link layer) of the OSI model, and are an improvement over previous packet switching techniques, such as X.25, in that a frame relay system requires significantly less control overhead.
In frame relay networks, as in other communication networks, access to the frame relay network is provided by a network service provider (NSP). These NSPs generally provide the communication and switching facilities over which the above-mentioned communication devices operate. Typically, an end user contracts with an NSP for network services. An example of such a network is a public switched service network. An example of a public switched network is the public switched telephone network (PSTN) or a public data network (PDN). These public networks typically sell network services, in the form of connectivity, to end users.
A user may purchase a particular level of service from the NSP. This level of service can be measured by, for example, network availability as a percentage of total time on the network, the amount of data actually delivered through the network compared to the amount of data attempted or possibly the network latency, or the amount of time it takes for a particular communication to traverse the network. Often, for example, an NSP may provision services to an end user by specifying a committed information rate (CIR). The CIR is the minimum data communication rate that the NSP guarantees to the user. The CIR is typically some fraction of the total available access line rate of the particular service being provisioned. For example, in a frame relay network, the access line rate may be 1536000 bits/second (T1 rate including 24 64-kilobit (KB) channels for a total of 1.544 megabits/second (MB/s) including 8 KB signaling), while the CIR may be 48000 bytes/second (384000 bits/second (b/s)). That is, for this example, the NSP may guarantee a communication rate of 384000 b/s, while the total available line rate may be 1536000 b/s.
FIG. 1 shows a communication environment 22 in which a plurality of user devices 24a and 24b reside. Each user device 24a and 24b, are connected to a communication device 26a and 26b, respectively, such as a frame relay access unit (FRAU), via connections 28a and 28b, respectively. User devices 24a and 24b are typically customer premises equipment, such as routers or the like, which may be connected to a local area network (LAN) or the like and residing off the NSP network 30. One skilled in the art will realize that the communication devices and user devices may be of any of a wide variety of devices commonly employed in the industry.
For simplicity and as an example, only two communication devices 26a and 26b, are depicted in FIG. 1. In practice, a communication environment 22 will contain many communication devices. Communication devices 26a and 26b are considered communication endpoints and communicate with each other over an NSP network 30, in a conventional manner. NSP network 30 can be, for example, any network that provides connectivity for communication devices 26a and 26b, and in the illustrative example of FIG. 1, is a frame relay communication network. NSP network 30 illustratively connects to communication devices 26a and 26b over connections 32a and 32b, respectively. Connections 32a and 32b can be physical links and can be, for example but not limited to, T1/E1 service or any digital data service (DDS).
NSP network 30 is typically characterized by a mesh network of links (not shown) interconnecting a matrix of intermediate nodes (not shown) through network switches, such as switches 34 and 36, which is well known in the art. For simplicity and as an example, only two network switches 34 and 36 are illustrated herein; however, NSP network 30 will typically contain many network switching devices. Link 38 connects network switch 34 with network switch 36.
Communication devices 26a and 26b are illustratively shown to have an input port 40a and 40b, respectively, which provides for the point of connection with user devices 24a and 24b, respectively, over their respective connections 28a and 28b. Communication devices 26a and 26b have output ports 42a and 42b, respectively, which provide for connectivity to NSP network 30 via their respective connections 32a and 32b. Similarly, network switches 34 and 36, utilize ports to provide connections to the various communication devices and other network switches to which they connect (not shown). In the illustrative example of FIG. 1, port 44a of network switch 34 provides the connection point to connection 32a, thereby providing connectivity to communication device 26a. Likewise, port 44b of network switch 36 provides the connection point to connection 32b, thereby providing connectivity to communication device 26b. Port 46a of network switch 34 provides the connection to link 38 and port 46b of network switch 36 provides the connection to link 38, thereby connecting network switches 34 and 36. For simplicity, network switch 34 is shown as having only two ports, 44a and 46a. As is well known in the art, network switches are typically multi-port devices having a plurality of ports (not shown) which provide connections to a plurality of communication devices (not shown) residing outside of NSP network 30, and a plurality of ports providing connection points to a plurality of links (not shown) which are connected similarly to a plurality of other network switches (not shown) residing within NSP network 30.
The rated capacity of communication device 26a is based upon the maximum amount of data transmission that the communication device 26a can accommodate without errors. Rated capacity, as defined hereinafter, is the maximum amount of data in bits which can be transmitted in the transmit (Tx) direction or the receive (Rx) direction during a specified period of time. The rated capacity of communication device 26a is typically referred to as rated port speed, and usually defined in terms of kilo-bits of data transferred over a one second period (kbps) in the Tx or the Rx direction. Here, after this illustrative example, the Tx direction is defined as communications from user device 24a out through communication 26a to NSP network 30. The Rx direction is defined as communications from NSP network 30 in through communication device 26a to user device 24a. A port having both simultaneous TX capability, known as the transmit side of the port, and Rx capability, known as the receive side of the port, is commonly referred to as a full duplex port. Likewise, each port of a network switch or other devices residing in NSP network 30 may have similarly defined port speeds. A network switch may have a plurality of ports residing in the network switch with each port having a unique port speed.
The actual data transmission rate for any given time period of user device 24a is the aggregation of the actual data transmitted in one direction (either the Tx or Rx direction), by all the individual transmission users connected through user device 24a. Many PC users would typically be connected onto a LAN 48 which is connected to user device 24a. For example, user A and user B may be transmitting into the NSP network 30 (Tx direction) while user X and user Y may be, at approximately the same time, receiving data from the NSP network 30 (Rx direction). Communication device 26a should have sufficient capacity to accommodate this bidirectional data traffic. That is, communication device 26a should have sufficient Tx capacity to accommodate the transmissions of user A and user B. Likewise, communication device 26a should have sufficient Rx capacity to accommodate the receiving of data by user X and user Y.
Some of the above described communication environments may be used to transmit “bursty” data traffic. A burst can be characterized as a continuous stream of bits transmitted through the port. A burst, which may contain one or more frames of a digital data, correlates to the speed of the data transmission through the port. In packet switching environments, bursts may have the data in a single frame or a burst may have the data in multiple strings of frames which are continuously stacked together such that there are no gaps in data transmission between one frame and the succeeding frame, as is well known in the art. Thus, a burst can be specified in terms of speed, such as bits per second, kilo-bits per second (kbps), mega-bits per second (Mb/s), or the like. Burstiness in this context can best be described as Tx or Rx data communication traffic that is sporadic in nature, with bursts of traffic occurring at frequent, but irregular, time intervals. As the users connected to LAN 48 transmit to NSP 30, the user device 24a assembles the transmitted data into a stream of outgoing data (Tx direction) which is then transmitted to NSP 30 through communication device 26a. Similarly, the user device 24a receives a stream of incoming data (Rx direction) from the NSP network 30, through communication device 26a, destined for the users connected to LAN 48. The random, aggregation of data transmitted or received by the users gives rise to the “bursty” nature of the data traffic.
Optimal operation of the communication environment 22, in theory, would have sufficient rated transmission capacity for each and every port in the network, as measured by rated port speed, to accommodate the total data transmission requirements of each device to which it is connected. As long as the actual data transmission rate through a port is less than the rated port speed, the communication device will have adequate transmission capacity to successfully transmit all of the data. However, if a communication device attempts to transmit data at a rate in excess of rated port speed, data that is in excess of the rated port speed might be discarded or unnecessarily delayed. Discarding of data or excessive delay in transmission is undesirable.
For example, ports 40a and 42a of communication device 26a should ideally have adequate port speed to accommodate the aggregate transmission of all data from NSP network 30 (Rx direction) that is sent to user device 24a, and the aggregate transmission of all data from user device 24a (Tx direction) that is sent to NSP network 30. Once the data transmission capacity of a port is fully utilized, that is, the port is operating at its rated port speed in either the Tx or Rx directions, further attempts to transmit additional data through the communication device 26a (in excess of the port speed) may result in discarded data or excessively delayed transmission of data. Therefore, the speed of ports 40a and 42a should ideally be at least as great as the actual instantaneous total data transmission rate to avoid discarding of data or avoid delays in data transmission.
Because attempts to transmit data at rates greater than the capacity of the communication device may result in data being discarded or in unacceptable delays in data transmission, proper sizing of the communication devices in a communication environment 22 is a key planning parameter for both service providers and end users. Therefore, it is incumbent upon the network engineer designing a communication network to specify the rated transmission capacity of a communication device, as defined by rated port speed, to be adequate to accommodate anticipated data transmissions with acceptable loss and delay. When a user device 24a and its associated communication device 26a are initially connected to a NSP network 30, the network engineer sizes the port speed of the communication device 26a based upon the anticipated data transmission requirements of all users interconnecting through LAN 48 to the user device 24a. Since communication devices typically are constructed in discreet sizes (discreet port speed ratings), the network engineer would typically select the communication device 26a having a rated speed of ports 40a and 42a of the next discreet size which exceeds the anticipated maximum aggregate data transmission from/to the user device 24a. That is, the network engineer should ideally select a communication device 26a having at least the next increment of rated speed for ports 40a and 42a that is greater that the anticipated port speed requirements. Therefore, there is likely some inherent amount of available transmission capacity, or port speed. This excess port capacity may be used to accommodate some measure of growth in traffic, such as when more users are connected onto the user device, or, to accommodate unanticipated high bursts of data transmissions.
However, as more and more users are connected onto LAN 48 through the user device 24a, loading on the associated ports 40a and 42a will increase and eventually reach the rated port speed. At some point, the communication device 26a may be asked to transmit data in excess of the rated speed of ports 40a and 42a, resulting in discarded or delayed data. If discarded or delayed data reaches unacceptable levels, the network engineer would likely recommend increasing the speed of ports 40a and 42a. 
Alternatively, some users connected to LAN 48 may leave. Loading on the ports 40a and 42a may decrease over time to such an extent that it may become economically desirable to downsize data transmission capacity by decreasing the speed of ports 40a and/or 42a. 
One problem with current management systems of communications networks having bursty communication is that it may be difficult for a network engineer to determine whether rated port speeds are adequate (either in terms of insufficient port speed or uneconomical excess port speed) on an ongoing basis. To the extent that current communication management system practices address these problems at all, such systems are limited to informing the network engineer, in the simplest possible terms, whether or not port speed may be adequate.
Furthermore, current communication management systems, whether automatic or manual, are incapable of determining and recommending to the network engineer the amount by which the port speed should be increased (or decreased).
Therefore, there is a need in the industry for a system and method that automatically analyzes historical data and proactively recommends specific adjustments to the rated port speeds based on such analysis.